.\" Copyright (c) 1989, 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Institute of Electrical and Electronics Engineers, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)cat.1	8.3 (Berkeley) 5/2/95
.\" $FreeBSD$
.\" Original revision: 1.19
.\"
.Dd 15 Septembre 2001
.Dt CAT 1
.Os
.Sh NAME
.Nm cat
.Nd concatene et affiche des fichiers
.Sh SYNOPSIS
.Nm 
.Op Fl benstuv
.Op Ar
.Sh DESCRIPTION
L'utilitaire
.Nm
lit sequentiellement le fichier 
.Ar file
et l'affiche sur la sortie standard.
Les fichiers
.Ar file
passes en parametres sont traites dans l'ordre de la ligne de commande.
Si le nom du fichier 
.Ar file 
est un simple tiret
.Pq Sq \&-
ou absent,
.Nm
lit le contenu depuis l'entree 
standard.Si
.Ar file
est une socket de domaine
.Ux
,
.Nm
s'y connecte et lit jusqu'a rencontrer le caractere
.Dv EOF .
Cela complete la capacite de gestion des bindings
.Ux
disponible dans
.Xr inetd 8 .
.Pp
Les options disponibles sont:
.Bl -tag -width indent
.It Fl b
Numerote les lignes non vides en commencant a 1.
.It Fl e
Affiche les caracteres de controles (voir l'option
.Fl v
), et affiche un signe dollar
.Pq Ql \&$
a la fin de chaque ligne.
.It Fl n
Numerote les lignes en sortie, en commencant a 1.
.It Fl s
Remplace les lignes blanches consecutives par une seule ligne blanche.
.It Fl t
Affiche les caracteres de controles (voir l'option
.Fl v
), et affiche
.Ql ^I 
a la place des tabulations.
.It Fl u
L'option
.Fl u
garanti que la sortie n'est pas bufferisee.
.It Fl v
Affiche les caracteres de controles.
Les caracteres de controle sont affiches sous la forme
.Ql ^X
pour controle-X; le caractere d'effacement 
(code octal 0177) est affiche comme ceci
.Ql ^? .
Les caracteres non-ASCII (dont le huitieme bit 
est positionne) sont affiches sous la forme
.Ql M-
(pour meta) suivi du caractere correspondant sur les 7 premiers bits.
.El
.Sh DIAGNOSTICS
.Ex -std
.Sh EXEMPLES
La commande:
.Bd -literal -offset indent
.Ic cat file1
.Ed
.Pp
affiche le contenu du fichier
.Ar file1
sur la sortie standard.
.Pp
La commande:
.Bd -literal -offset indent
.Ic cat file1 file2 > file3
.Ed
.Pp
lira sequentiellement le contenu des fichiers
.Ar file1
et
.Ar file2
et les affichera dans le fichier
.Ar file3 ,
tout en effacant le contenu de 
.Ar file3
s'il existe.
Voir la page de manuel du shell correspondant (i.e.,
.Xr sh 1 )
pour plus d'informations sur les redirections.
.Pp
La commande:
.Bd -literal -offset indent
.Ic cat file1 - file2 - file3
.Ed
.Pp
lira le contenu de 
.Ar file1 ,
affichera les donnees recu de l'entree standard jusqu'a ce qu'elle recoive un caractere
.Dv EOF
.Pq Sq ^D
affichera le contenu du fichier
.Ar file2 ,
lira et affichera une fois de plus le contenu de l'entree standard, et affichera pour
finir le contenu du fichier
.Ar file3 .
Notez que si l'entree standard se refere a un fichier, le deuxieme tiret 
en ligne de commande, n'aura aucun effet, car tout le contenu du fichier
aura deja ete lu et afficher par
.Nm
lorsqu'il aura rencontre le premier operateur
.Ql \&-
.
.Sh VOIR AUSSI
.Xr head 1 ,
.Xr more 1 ,
.Xr pr 1 ,
.Xr sh 1 ,
.Xr tail 1 ,
.Xr vis 1 ,
.Xr zcat 1 ,
.Xr setbuf 3

.Rs
.%A Rob Pike
.%T "UNIX Style, or cat -v Considered Harmful"
.%J "USENIX Summer Conference Proceedings"
.%D 1983
.Re
.Sh STANDARDS
La commande
.Nm
est compatible avec la specification
.St -p1003.2-92
.
.Pp
Les options
.Op Fl benstv
sont des extensions a cette specification
.Sh HISTORIQUE
La commande
.Nm
est apparue dans 
.At v1 .
.An Dennis Ritchie a defini et ecrit la premiere page de manuel. 
Il semblerait que ce fut
.Xr cat 1 .
.Sh BOGUES
Du aux mecanismes de redirection de la sortie standard du shell,
la commande
.Dq Li cat file1 file2 > file1
detruit les donnees originnelles dans le fichier file1!
